home *** CD-ROM | disk | FTP | other *** search
- TITLE CALLER - CALLS CIRCLE SUBROUTINE
- EXTRN CIRCLE:FAR;external subroutine
-
- STACK SEGMENT PARA STACK 'STACK'
- DB 64 DUP('STACK ')
- STACK ENDS
- CALLER SEGMENT PARA 'CODE'
- START PROC FAR
- RADIUS DW 20 ;INITIAL VALUE OF RADIUS
- ASSUME CS:CALLER,SS:STACK
- PUSH DS ;save ret seg on stack
- XOR AX,AX ;zero for ret offset
- PUSH AX ;and save on stack
- MOV AL,4 ;color/graphics select
- INT 10H ;set mode
- LOOP_CIR: MOV AX,160 ;X origin coord
- PUSH AX ;save on stack
- MOV AX,100 ;Y origin coord
- PUSH AX ;save on stack
- MOV AX,RADIUS ;CIRCLE RADIUS
- PUSH AX ;save on stack
- MOV AX,5 ;aspect numer
- PUSH AX ;save on stack
- MOV AX,6 ;aspec denom
- PUSH AX ;save on stack
- MOV AX,1 ;foregrnd color
- PUSH AX ;save on stack
- CALL CIRCLE ;draw circle
- ADC RADIUS,10 ;INCREASE RADIUS BY 10
- CMP CX,80 ;END VALUE
- JLE LOOP_CIR ;ONE MORE CIRCLE
- RET ;far ret to DOS
- START ENDP
- CALLER ENDS
- END